#include <iostream>
#include <vector>
#include <deque>
#include <list>

using namespace std;
#include"Stack.h"
#include"Queue.h"

namespace ouyang
{
	void Text_mystack()
	{
		/*stack <int, vector<int>> st;
		st.push(1);
		st.push(2);
		st.push(3);
		st.push(4);
		while (!st.empty())
		{
			cout << st.top() << " ";
			st.pop();
		}
		cout << endl;
		cout << "size:" << st.size() << endl;*/
		stack <int> st;
		st.push(1);
		st.push(2);
		st.push(3);
		st.push(4);
		while (!st.empty())
		{
			cout << st.top() << " ";
			st.pop();
		}
		cout << endl;
		cout << "size:" << st.size() << endl;
	}

	void Text_myqueue()
	{
		/*queue<int, list<int>> q;
		q.push(1);
		q.push(2);
		q.push(3);
		q.push(4);
		while (!q.empty())
		{
			cout << q.front() << " ";
			q.pop();
		}
		cout << endl;
		cout << "size:" << q.size() << endl;*/
		queue<int> q;
		q.push(1);
		q.push(2);
		q.push(3);
		q.push(4);
		cout << q.front() << endl;
		cout << q.back() << endl;

		while (!q.empty())
		{
			cout << q.front() << " ";
			q.pop();
		}
		cout << endl;
		cout << "size:" << q.size() << endl;
	}

}

int main()
{
	//ouyang::Text_mystack();
	ouyang::Text_myqueue();
	return 0;
}